package com.briup.day09;

/**
 * @author ThinkBook
 */
public class Test03_Triangle {
    //正三角形式 输出 杨辉三角
    public static void main(String[] args) {
        //1.生成杨辉三角数组
        int[][] arr = new int[5][];
        for(int i = 0; i < arr.length; i++) {
            //对二维数组的逐个元素 进行赋值
            arr[i] = new int[i+1];

            for(int j = 0; j < arr[i].length; j++) {
                //开始赋值
                if(j == 0) {        //第1列 全赋值为1
                    arr[i][j] = 1;
                }else if(i == j) {  // i==j 全赋值为1
                    arr[i][j] = 1;
                }else if(i > j) {        // i>j 赋值 上一行 当前列值 + 上一行 前一列值
                    arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
                }//else: i < j
            }
        }

        //按要求遍历
        for(int i = 1; i <= arr.length; i++) {
            //先输出 ‘ ’
            for(int j = 0; j < (arr.length+1-i); j++) {
                System.out.print(' ');
            }

            //再输出 元素值
            for(int k = 0; k < arr[i-1].length; k++) {
                System.out.print(arr[i-1][k]+" ");
            }

            System.out.println();
        }
    }

    public static void main01(String[] args) {
        //1.生成杨辉三角数组
        int[][] arr = new int[5][5];
        for(int i = 0; i < arr.length; i++) {
            for(int j = 0; j < arr[i].length; j++) {
                //开始赋值
                if(j == 0) {        //第1列 全赋值为1
                    arr[i][j] = 1;
                }else if(i == j) {  // i==j 全赋值为1
                    arr[i][j] = 1;
                }else if(i > j) {        // i>j 赋值 上一行 当前列值 + 上一行 前一列值
                    arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
                }//else: i < j
            }
        }

        //2.输出杨辉三角
        //outArray(arr);
        for(int i = 0; i < arr.length; i++) {
            for(int j = 0; j <= i; j++) {
                System.out.print(arr[i][j] + "\t");
            }
            System.out.println();
        }
    }
}

